package graph_viewer.structure.builder;

import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

import graph_viewer.structure.*;

// read node data from file stream, and create a generic tree
public interface Graph_Builder {
	//============================================================================
	// attribtue
	//============================================================================	
	public String	
		end									= "~",
		clustered_graph_edge_start	= "&",
		clustered_node_start			= "%",
		//sep									= "	 ",
		edge									= "!",
		relation								= "(",
		position								= ")",
		comments							= "#";

	//============================================================================
	// method
	//============================================================================		
	public Graph build_clustered_graph( Tree cluster_tree ) throws IOException;
	public Tree build_tree( Tree created_tree ) throws IOException;
	public ArrayList build_edges( Graph a_graph ) throws IOException; 

	public void set_file( File a_file );
	public File get_file();

	public void build_data( Graph a_graph, File a_file )  throws IOException;	
}